A web server is an application, allowing users to share documents over internet or a local network.<br /><br />
To connect to the web server you need only a web browser.<br /><br />
<img src="../images/webserver.png" title="" alt="Many clients connecting to a Web Server" class="box" width="394" height="513" />
<br />
Many clients connecting to a web server.
<br />
<br />
This image shows, how various clients can be
connected with your server at the same time. The request arrives at your server via the network. A response is prepared by the server and is sent back to the client. The evolution of the Internet, made the Server-Client model the simpliest mode to share information easily, giving the possiblity to each user, to decide what he or she wants to share with other users.
<br />
<h2 class="title">How are the files shared?</h2>
Using the basic level, the web server shares HTML
documents and images. These documents and images are very simple, static and the basic files, you see when you access a website.
These files are transferred via the HTTP (HyperText Transfer Protocol).
<br />
<br />
If dynamic content is needed, for example to run an e-commerce website,
different protocols are used for the communication of the web server with an external process. Some of these protocols are the Common Gateway Interface (CGI), ISAPI, FastCGI and WinCGI.<br />
HTTP is not a secure protocol, because the data transmission is not encrypted. The encryption possibilities for secure transmissions are given by the HTTPS (HyperText Transfer Procol Secure). More about the HTTPS <a href="HTTPS.html">here</a>.
<br />
<h2 class="title">Path translation</h2>
Web servers translate the path component of an URI into a local file system resource.
The URI path specified by the client is relative to the web server's root directory
(<a href="virtualhosts.html">Virtual Hosts</a>).
For example the client can request a file <span class="code">/mydirectory/myfile</span>
trough a request like: <br />
<br />
<span class="code">
GET /mydirectory/myfile HTTP/1.1<br />
Host: www.host.com
</span>
<br />
<br />
The server maps the file name to the current virtual host root directory. If the root directory is <span class="code">/var/www</span> the returned resource will be <span class="code">/var/www/mydirectory/myfile</span> according to the specification for its MIME type.